今天宠物迷的小编给各位宠物饲养爱好者分享listview点击效果的宠物知识,其中也会对安卓listview的item点击时候的背景颜色怎么去掉或者设置成透明的呢?进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!
listview默认背景和系统窗口一样是透明的,如果给listview加上背景图片,或者背景颜色时,滚动时listview会黑掉,因为滚动时,列表里面的view重绘用的依旧是系统默认的透明色,颜色值为#FF191919,解决办法:
调用listview的setCacheColorHint(0),颜色值设置为0
或者xml文件中listView的属性 Android:cacheColorHint="#00000000",滚动时,重绘View的时候就不会有背景颜色。
android:listSelector="#00000000"
进行上面的设置之后,ListView点击item时就没有任何现象了
不知道你指的是不是这个问题,这是我之前遇到问题解决的办法。
listview的默认样式每个item都会有个选择器(selector),要取消点击效果就要替换掉这个默认的选择器,使用listview.setSelector(new ColorDrawable(Color.TRANSPARENT))将选择器替换成透明的drawable,点击就不会有高亮的效果了。或者你想自定义一种点击效果,那就定义好自己selector文件,然后在代码中用setSelector或者在布局中ListView上用android:listSelector属性来指定成自己的selector。PS:setSelector(null)是没用的,还会有默认的点击效果。
方法一,在控件被初始化的时候设置
listView.setSelector(new ColorDrawable(Color.TRANSPARENT));
方法二,在布局文件中设置listSelector属性
<ListView
android:listSelector="@android:color/transparent"
android:layout_height="match_parent"
android:layout_width="match_parent"/>
当然也可以定制化自己想要的效果。
推荐使用方法二,解耦逻辑代码与布局文件
android:listSelector="@android:color/transparent",
<item android:state_window_focused="false"
android:drawable="@drawable/没有焦点时的图片背景" />
<item android:state_focused="true" android:state_pressed="true"
android:drawable=
"@drawable/非触摸模式下获得焦点并单击时的背景图片" />
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/触摸模式下单击时的背景图片" />
<item android:state_selected="true"
android:drawable="@drawable/选中时的图片背景" />
<item android:state_focused="true"
android:drawable="@drawable/获得焦点时的图片背景" />
在ListView布局中设置android:listSelector。。。。
通过点击某个按钮,或者某个布局,或者listiew的OnItemClick**事件 ,然后显示或者隐藏你的内容,当显示或者隐藏的时候加上动画就好了
回弹的距离就是下拉的距离,我下拉的距离已经缩小到手指移动距离的0.3倍了,还是不行啊!!
点击listview的整个item 就是listview.setonItemselectListener(new OnItemselectListene)我写的单词估计有错,你自动补全就行, 单击里面的每一个item的话 如果是自定义适配器,那就在自定义适配器的getview 方法里面根据控件的id设置**器 如果不是自定义适配器,我就不知道你怎么加进去的,系统的吧,这我就不知道了 还有一种就是在xml里面加上onclick="dd";(dd为自定义名) 比如 <Button android:id="@+id/button" w..... h.... onClick="dd" /> 然后在activity里面写上 public void dd(View view){ 这里面就写上你点击控件要实现的功能了 }
两种办法
1.设置里面控件的focusable为false
<LinearLayout xmlns:android /schemas.android***m/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btItem"
android:focusable="false"
android:text="点我"
/>
2.设置整个item根布局的descendantFocusability为blocksDescendants
<LinearLayout xmlns:android="h schemas.android***m/apk/res/android"
android:layout_width="match_parent"
android:descendantFocusability="blocksDescendants"
android:layout_height="match_parent">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btItem"
android:text="点我"
/>
这样item里的button和item的点击事件互不冲突了
本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“安卓listview的item点击时候的背景颜色怎么去掉或者设置成透明的呢?”
上一篇
比熊怎么样 具有欢快气质的萌宠
下一篇
不记得高考准考证怎么找回?